﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Interfaces;
using Controller;


namespace Server
{
    public class Responder
    {
        object _lock = new object();
        FacadeController controller;

        public Responder(FacadeController controller)
        {
            this.controller = controller;
        }

        internal List<IAuktion> Vis()
        {
            lock (_lock)
            {
                List<IAuktion> auktioner = new List<IAuktion>();
                foreach (IAuktion iauktion in controller.VisAuktionerIF())
                {
                    auktioner.Add(iauktion);
                }
                return auktioner;
            }


        }

        internal string Byd(string command, Session session)
        {
            lock (_lock)
            {
                List<string> args = new List<string>();
                args.AddRange(command.Split(' '));
                int auktNr = 0;
                double pris = 0;
                if (!(int.TryParse(args[0], out auktNr) && double.TryParse(args[1], out pris)))
                {
                    throw new Exception("konverteringsfejl (pris & auktnr) Responder.cs");
                }
                return controller.Byd(auktNr, pris);
            }

        }
    }
}
